#pragma once

#include "Globals.h"

namespace game_engine { namespace utils
{

/*!
 * \class Button
 * \brief 
 * \details 
 */
class ColorRGB
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////
private:
    INT32 red;
    INT32 green;
    INT32 blue;

public:
    static ColorRGB COLOR_WHITE;
    static ColorRGB COLOR_BLACK;
    static ColorRGB COLOR_RED;
    static ColorRGB COLOR_GREEN;
    static ColorRGB COLOR_BLUE;
    static ColorRGB COLOR_GREY;

///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    ColorRGB(void);
    ColorRGB(const INT32 r, const INT32 g, const INT32 b);
    virtual ~ColorRGB(void);

    // Getters
    const INT32 getRed(void) const;
    const INT32 getGreen(void) const;
    const INT32 getBlue(void) const;

    // Setters
    void setRed(const INT32 r);
    void setGreen(const INT32 g);
    void setBlue(const INT32 b);

};

}}
